大多數人一開始使用 vim 時,常常會因為他難以駕馭的操作方式,以及相較於其他 IDE 較為平庸的功能,而馬上就棄坑了 ...
那我真的覺得十分可惜!
vim 非常輕量化,在各種功能的調教方面也是完全的客製化,也可以根據開發的不同語言而載入相對應的外掛,這些是一般的 IDE 無法比擬的!(不是說肯定比 IDE 好,而是它有許多等著被挖掘的好處~)
這邊就提供幾個簡單的設定給大家參考,讓大家對 vim 進行調教吧!
在 vim 中有許多的功能都是藉由開啟設定來啟動的,像是 :se number 就是顯示行數 (連行數都能自己設定要不要顯示,想不到吧~),這邊就來介紹幾個常用的設定吧,用 se 或者 set 指令都可以~ (都是在命令列模式下進行設定的哦!)
| 指令 | 解釋 | 
|---|---|
| encoding=UTF-8 | 編碼 | 
| number | 行數 | 
| showcmd | 取得指令歷史 | 
| mouse=a | 設定游標顯示樣式 | 
| ruler | 設定顯示行列數 (顯示在畫面右下角) | 
| history=1000 | 設定 undo 歷史紀錄數量 | 
| cursorline | 高亮顯示游標的行 | 
| background=dark | 設定背景色 | 
| foldmethod=indent | 根據縮排折疊程式碼 | 
| foldlevel=100 | 設定折疊上限 | 
| expandtab | 使用 whitespace 取代 tab | 
| autoindent | 啟用自動縮排 | 
| 指令 | 解釋 | 
|---|---|
| incsearch | 即時顯示搜尋結果 | 
| hlsearch | 高亮顯示搜尋結果 | 
| ignorecase | 忽略大小寫 | 
| smartcase | 我的理解是,如果有大寫則進行全比對 | 
| magic | 設定 RegEx | 
跟眾多 IDE 一樣,vim 當然也能設定外觀顯示,說跟其他 IDE 不同的地方,也就是仍然使用指令來進行啦~
| 指令 | 解釋 | 
|---|---|
syntax enable | 
啟用內容顯色 | 
colorscheme [colorschema] | 
使用的顏色方案 | 
重頭戲來了!我之所以對 vim 愛不釋手,有一個很特別的地方在於,他可以根據各種 event 發生的時候,去執行你想要針對檔案或 vim 進行更動~這邊就用兩個案例來舉例吧!
針對暫存器讀檔時執行的指令
au BufNewFile,BufRead *.py
    \ set tabstop=4
    \ set softtabstop=4
    \ set shiftwidth=4
此指令為:針對開啟副檔名為 .py 的檔案設定某些參數
開啟 vim 時執行的指令
function startUpFun()
    " TODO
endfunction
autocmd VimEnter * call startUpFunc()
此指令為:在進入 vim 時執行 startUpFunc() 這個函式
你可能會疑惑,怎麼分成 au 及 autocmd 這兩種?但這兩個是一樣的功能唷!
到這邊為止 vim 基礎的介紹大概已經完畢了~雖然可能還是霧煞煞不過請大家試試看吧!
接下來我會針對我所自訂的開發環境介紹各個元件:如何安裝及使用